$(function () {
    // 需求1: 点击a连接, 显示隐藏
    $('#loginBox a').on('click', function () {
        // 点击登录框内部的a连接
        //显示注册区域, 隐藏登录区域
        $('#loginBox').hide()
        $('#regBox').show()
    })
    $('#regBox a').on('click', function () {
        // 点击注册区域内的a链接
        //隐藏注册区域, 显示登录区域
        $('#regBox').hide()
        $('#loginBox').show()
    })


    // 需求2: 定义校验规则
    let form = layui.form //把layui里面的form属性用变量保存, 方便实用
    // 定义校验规则 ,使用的是 form.verify()
    // 参数是对象, 属性是校验名称,值是校验规则
    form.verify({
        username: [
            /^[a-zA-Z0-9]{1,10}$/,
            '用户名必须是1到10位数字和字母'
        ],
        pwd: [
            /^[a-zA-Z0-9]{6,12}$/,
            '用户名必须是6到12位数字和字母'
        ],
        //确认密码规则
        rePwd: function (value) {
            // 获取密码的值
            let pwd = $('#regBox input[name=password]').val()
            if(pwd !== value) {
                //如果原密码的值和确认密码不相等就报错
                return '两次密码输入不一致, 请重新输入'
            }
        }
    })

    //需求3: 注册功能
    let layer = layui.layer
    $('#formReg').on('submit' ,function (e) {
        //阻止表单默认提交
        e.preventDefault();
        //发送axios
        axios({
            method: 'POST',
            url: '/api/reguser',
            data: $('#formReg').serialize(),
        }).then(function (res) {
            // console.log(res.data);
            //判断返回数据是否正确
            if(res.data.status !== 0) {
                return layer.msg(res.data.message,{icon:5})
            }
            //成功后提示
            layer.msg('恭喜您, 注册用户成功',{icon:6})
            //切换到登录模块
            $('#regBox a').click()
            $('#formReg')[0].reset()
        }) 
    })

    //需求4: 登录功能
    $('#formLogin').on('submit', function (e) {
        // 阻止默认跳转
        e.preventDefault()
        // 发送axios
        axios({
            method: 'POST',
            url: '/api/login',
            data: $('#formLogin').serialize(),
        }).then(function (res) {
            // console.log(res.data);
            // 判断
            if(res.data.status !== 0) {
                return layer.msg(res.data.message, {icon: 5});
            }
            //成功, 提示, 存储token
            layer.msg('有表情地提示', {icon: 6});
            localStorage.setItem('token',res.data.token)
            location.href = '/index.html'
        })
    })
})